package com.yssoft.mapper.core;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.yssoft.entity.core.TProductClassify;
import com.yssoft.vo.TProductClassifyVo;

import tk.mybatis.mapper.common.Mapper;

public interface TProductClassifyMapper extends Mapper<TProductClassify> {

	/**
	 * @功能描述:查询生产范围树数据
	 * @作者:戈超
	 * @return
	 */
	List<Map<String, Object>> queryProClaTreeOneNode();
	/**
	 * @功能描述:递归查询一级生产范围下树形数据
	 * @作者:戈超
	 * @param pId
	 * @return
	 */
	List<Map<String, Object>> queryProClaTreeNode(Integer pId);
	/**
	 * @功能描述:查询企业信息生产范围
	 * @作者:戈超
	 * @param id
	 * @return
	 */
	Map<String, Object> queryProductByEntId(Integer id);
	
	/**
	 * @方法名称: selectPCaAndChildrenList
	 * @功能描述: 获取产品类别及其子类别
	 * @作者: 洪丰
	 * @创建时间: 2018年4月27日 下午8:12:51
	 * @return List<TProductClassifyVo>
	 */
	List<TProductClassifyVo> selectPCaAndChildrenList();
	
	/**
	 * @方法名称: queryProductClassifyAll
	 * @功能描述: 查询所有产品类别(列表tree用)
	 * @作者: 洪丰
	 * @创建时间: 2018年4月28日 下午1:57:54
	 * @return List<Map<String,Object>>
	 */
	List<Map<String,Object>> queryProductClassifyAll();
	
	/**
	 * @方法名称: queryProductClassifyNull
	 * @功能描述: 获取所有产品类别（选择tree用）
	 * @作者: 洪丰
	 * @创建时间: 2018年4月28日 下午2:29:47
	 * @return List<Map<String,Object>>
	 */
	List<Map<String,Object>> queryProductClassifyNull();
	/**
	 * 获取所有产品类别节点
	 * 戈超 
	 * @return
	 */
	List<Map<String, Object>> queryProClaTreeAllNode();
	
    /**
     * @方法名称: getProductMenu
     * @功能描述: 获取商品类型目录-销售订单用
     * @作者: 王永宁
     * @创建时间:2018年5月21日 下午3:12:38
     * @param pId 商品父类id
     * @return Object
     */
	List<Map<String, Object>> getProductMenu(HashMap<String, Object> param);
	/**
	 * @方法名称: getProductMenu1
	 * @功能描述: 获取商品类型目录-销售订单用
	 * @作者: 王永宁
	 * @创建时间:2018年5月21日 下午3:12:38
	 * @param pId 商品父类id
	 * @return Object
	 */
	List<Map<String, Object>> getProductMenu1(HashMap<String, Object> param);
	
	/**
	 * @方法名称: updateByPrimaryKey
	 * @功能描述: 更新产品类别包括父级
	 * @作者: 洪丰
	 * @创建时间:2018年5月14日 下午7:28:27
	 * @param record
	 * @return
	 */
	int updateByPrimaryKey(TProductClassify record);
}